#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include <QTimer>
#include <qwt_plot_curve.h>
#include "datasource.h"
#include "buffer.h"
#include <QTime>

namespace Ui
{
    class MainWindowClass;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();
    void on_spinMin_valueChanged(int );
    void on_horizontalSlider_sliderMoved(int position);
    void on_spinMax_valueChanged(int );
    void on_spinEscala_valueChanged(int );
    void refresh();
    void plotear();
    void limpiar();
    void cargarDatosContinuos();
    void cerrarDataSource();
    void grabarDatos();
    void pararGrabacion();

private:
    Ui::MainWindowClass *ui;
    QwtPlotCurve *curve1;
    QwtPlotCurve *curve2;
    QwtPlotCurve *curve3;
    QwtPlotCurve *curveAcel;
    QwtPlotCurve *curveVel;
    QwtPlotCurve *curvePos;
    QAction *memoria;
    QAction *archivo;
    QAction *puerto;
    QAction *parar;
    QTimer *timer;
    QTime *time;
    DataSource data;
    Buffer buffer;
    bool grabar;
    int posMuestra;
    double muestra[200000];
    void grabarArchivo(int);
    void cargarDatos(double*, int);
    void mostrarPosicion();
    double x[2000];
};

#endif // MAINWINDOW_H
